// 导入electron
const electron = require('electron');
// 导入控制生命周期的模块、创建原生浏览器窗口的模块
const {BrowserWindow} = electron;


const Config = require('../../config.js');

class MainWindow {
    constructor(){
    	this.createWindow();
    }
    createWindow() {
    	const size  = Config.window_size;
    	this.mainWindow = new BrowserWindow({
    		title: Config.title,
    		width: 1000,
    		height: size.height,
    		// minimizable: false, // 窗口是否可以最小化
    		// maximizable: false, // 窗口是否可以最大化
    		// closable: false, // 窗口是否可以关闭
    		// alwaysOnTop: true, // 窗口是否总是显示在其他窗口之前
	        // resizable: false,
	        // frame: false
    	});

        this.mainWindow.webContents.openDevTools();
        // webContents 是一个 事件发出者. 它负责渲染并控制网页，也是 BrowserWindow 对象的属性.

		// 加载应用的 index.html
		this.mainWindow.loadURL('file://' + process.cwd() + '/app/index.html');

		// 启用开发者工具
		// mainWindow.webContents.openDevTools();

		// 当window 被关闭，这个方法会触发
		this.mainWindow.on('closed', () => {
		    // 取消引用 window 对象，如果你的应用支持多窗口的话，
		    // 通常会把多个 window 对象存放在一个数组里面，
		    // 与此同时，你应该删除相应的元素。
		    this.mainWindow = null;
		});
    }
}

module.exports = MainWindow;